Method for carrying out seeks in a hard disc drive to limit the generation of acoustic noise

ABSTRACT

A method for carrying out seeks of a transducer between tracks of a disc drive to limit acoustic noise arising from changes in the acceleration of the actuator which supports the transducer. The rate of change of the acceleration is limited utilizing three techniques: limitation of changes in the control signal outputted to an actuator driver that supplies an electrical current to the actuator that gives rise to a torque on the actuator to a preselected slew rate limit, averaging the control signal in successive repetitions of the generation of the control signal and outputting the averaged control signal during an initial portion of the time for the repetition while outputting the control signal determined in the repetition for the remainder of the time for the repetition, and determining a component of the control signal in relation to the difference between the radial velocity of the transducer and a profile velocity determined in relation to the smaller of the distance remaining in the seek and a deceleration distance determined by multiplying the length of the seek by a predetermined factor selected to cause the transducer to coast at substantially constant speed between acceleration and subsequent deceleration of the transducer.

This is a divisional application of U.S. patent application Ser. No.08/218,607, filed Mar. 28, 1994, currently pending.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to improvements in hard discdrive servo methods and, more particularly, but not by way of limitationto improvements in methods for moving transducer heads radially acrossdiscs of hard disc drives.

2. Brief Description of the Prior Art

Files generated by a computer are often magnetically stored in a harddisc drive; that is, a device having one or more rotating discs thathave magnetizable coatings so that transducer heads, through which acurrent can be passed to produce a magnetic field, that fly over thedisc can magnetize data tracks that are defined in the disc coatings inpatterns that reflect the content of a file. Subsequently, a file can beread by moving a transducer to the data track at which it is stored andreading the magnetic field produced by the pattern of magnetization ofthe data track.

In general, the transducers are supported at the ends of flexuresmounted on an electromechanical actuator that includes a coil immersedin a magnetic field so that forces can be exerted on the actuator bypassing an electric current through the actuator coil. Thus, movement ofa transducer between data tracks, to access a file or write a file to aselected location in the disc drive, can be carried out by supplyingelectrical currents to the actuator to initially accelerate thetransducer from a track presently being followed and subsequentlydecelerate the transducer as it approaches a target track which containsthe file to be accessed or to which a file is to be written.

The actuator currents are supplied by an actuator driver in response tocontrol signals that are repetitively generated by a servo system thatincludes a microprocessor and it is common practice to use a velocitycontrol approach to generate the control signals. In this approach, thelocation and radial velocity of the transducers across the disc surfacesare repetitively determined and the location is used to determine aprofile velocity to which the actual velocity is compared to generatethe control signal that is received by the actuator driver. Moreparticularly, the control signal is commonly generated in proportion tothe difference between the profile velocity and the actual velocity andthe profile velocities, collectively referred to as a velocity profile,are predetermined and stored in the memory of the microprocessor forcontrol of transducer movements. As is common, the profile velocitiesdecrease toward zero as the distance to the target track decreasestoward zero so that a transducer will generally decelerate toward astate of rest at the target track as it approaches the target track.

As is known in the art, the movement of the transducers between tracksis commonly carried out in two phases, a seek phase, in which thetransducers are accelerated to the velocity profile and subsequentlydecelerated toward the target track until a selected minimum distance tothe target track is reached, and a settle phase in which the transduceris brought to rest on the target track. Since the velocity profiledecreases toward zero as the distance to the target track decreases tozero, settle can be rapidly effected once the minimum distance has beenattained. Moreover, the velocity profile is generally determined toachieve rapid rates of acceleration and deceleration, with a high speedcoast period between the acceleration and deceleration stages of lengthyseeks, so that the time required for accomplishing the seek phase of themovement is minimized.

While velocity control of the seek phase thus provides an efficientmethod of moving transducers between tracks to access selected datatrack in a minimum of time, it is not without problems. The accelerationof the transducer to the velocity profile and subsequent following ofthe profile often gives rise to rapidly changing forces on the actuatorwith the result that the actuator is subjected to impulses that causevibration of the actuator and the disc drive case upon which theactuator is mounted. The vibration, in turn, gives rise to acousticnoise during the seek phase. This noise, which a computer user may finddistracting, is generally considered to be an undesirable side effect ofvelocity control of the seek phase. Consequently, a continuing need hasexisted for methods that will reduce acoustic noise during transducermovements.

SUMMARY OF THE INVENTION

The present invention reduces noise during the seek phase of transducermovement in a disc drive by limiting the magnitude of changes in thecontrol signal generated by the servo microprocessor and outputted tothe actuator driver that passes electrical currents through the coil ofthe actuator whereon the transducers are mounted. Consequently, changesin the actuator coil current are limited to, in turn, limit the rate ofchange of forces applied to the actuator during acceleration anddeceleration of the transducers. Thus, vibration of the actuator and thedisc drive case are suppressed to achieve a significant reduction innoise generated by the disc drive during seeking. In one aspect of theinvention, the limitation in control signal changes is effecteddirectly. In this aspect of the invention, the distance remaining to thetarget track during movement of a transducer to that track isrepetitively estimated and a profile velocity is determined from eachestimated distance. A control signal, to be outputted to the actuatordriver and having a component that is determined from the differencebetween the profile velocity and an estimate of the radial velocity ofthe transducers across the disc surfaces, is generated and thedifference between the control signal and the control signal similarlydetermined for the previous distance estimate is compared to apreselected slew rate limit. For control signal differences that exceedthe slew rate limit, the control signal for the current repetition ofthe control cycle is adjusted to the sum of the control signal forprevious repetition and the slew rate limit. The adjusted control signalis then outputted to the actuator driver to determine the current passedthrough the actuator coil and, accordingly, the force applied to theactuator. Since changes in the control signal from one repetition of thecontrol cycle to the next are limited to the slew rate limit, changes inthe applied force are correspondingly limited to minimize vibration ofthe actuator and disc drive case that can generate noise.

In a second aspect of the invention, a control signal is repetitivelygenerated as described above but is not initially outputted to theactuator driver. Rather, the control signal determined in each controlcycle repetition is averaged with the control signal determined in theprevious repetition and the average control signal is outputted to theactuator driver during approximately the first half of the control cyclerepetition time. Subsequently, the control signal determined for thecurrent control cycle is outputted during the remainder of the cycletime. Thus, changes in the control signal from one repetition of thecontrol cycle to the next are outputted in steps to limit changes insuccessive control signals received by the actuator driver to, in turn,limit changes in the electrical current passed though the actuator coiland, consequently, changes in force applied to the actuator to effect aseek.

In a third aspect of the invention, the transducers are caused toundergo a constant velocity stage of motion between the accelerationstage with which the seek phase of transducer movement begins and thedeceleration stage with which the phase ends. To this end, the distancefrom the initial track being followed at the time the seek phase isinitiated and the target track is initially multiplied by a factor todetermine a deceleration length over which the transducers are to bedecelerated toward the target track in latter portions of the seekphase. Subsequently, during the execution of the seek phase, thedistance that is used to determine the profile velocity to be comparedto the radial velocity of the transducers in the generation of thecontrol signal in each control cycle is selected to be the lesser of thedistance remaining to the target track and the deceleration distance.Thus, the seek phase is carried out using an effective velocity profilehaving a limited maximum profile velocity. The factor is selected toinsure that the transducers will achieve this limited maximum profilevelocity with the result that sharp changes in the control signal,corresponding to direct transition from acceleration of the transducersto deceleration, is eliminated during the seek phase. Thus, the maximumrates of change of the control signal and, consequently, the forcesapplied to the actuator are limited to rates of change that occur intransitions from acceleration of the transducers to constant speedmotion and, subsequently, from constant speed motion to deceleration ofthe transducers to again achieve a limitation of noise generated duringthe seek phase.

A fourth aspect of the invention is the combination of the three aspectsthat have been described above. More particularly, the profile velocityis determined from the lesser of the distance remaining to the targettrack and the deceleration distance and used to generate a controlsignal in each control cycle. This control signal is then slew ratelimited as described above and the slew rate limited control signal isaveraged with the slew rate limited control signal for the previouscontrol cycle. Subsequently, the averaged control signal is outputted tothe actuator driver for approximately half the control cycle repetitiontime and then followed with the newly determined slew rate limitedcontrol signal for the remainder of the repetition time.

An additional benefit of the present invention, arising from thelimitation of vibration of the actuator in minimizing noise generatedduring transducer movements, is that the invention can reduce the timerequired for the movement to take place. As noted above, the transducersare supported on the ends of flexures mounted on the actuator so thatthe vibration of the actuator, including the flexures, must be dampedafter a transducer has reached a target track before retrieval of apreviously stored file or writing a new file can be commenced. Bylimiting vibration of the actuator, the damping time can be reduced toenable transfer of a file to or from a data track to be commenced at theearliest possible moment after the transducer movement has beencompleted.

An important object of the present invention is to minimize noise thatis generated by applied forces used to effect movement of transducersbetween tracks in the operation of a disc drive.

Another object of the invention is to effect such minimization in amanner that is readily implemented in substantially any disc drive.

Yet a further object of the invention is to minimize the time requiredfor settling of a disc drive transducer on a target track followingmovement of the transducer to the target track.

Other objects, features and advantages of the present invention willbecome apparent from the following detailed description when read inconjunction with the drawings and appended claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic representation of a disc drive in which the methodof the present invention may be advantageously carried out.

FIG. 2 is a graph of a typical velocity profile used in carrying out theseek phase of transducer movement in a disc drive illustrating themovement of the transducers in accordance with one preferred embodimentof the invention.

FIG. 3 is a flow chart of the system microprocessor program used in thepractice of the preferred embodiment of the invention illustrated inFIG. 2.

FIG. 4 is a flow chart of a servo microprocessor routine used in thepractice of a first preferred embodiment of the present invention.

FIGS. 5A and 5B are flow charts of servo microprocessor routinesrepetitively carried out in the practice of the first preferredembodiment of the invention.

FIG. 6 is a graph of actuator current as a function of time duringmovement of transducers in accordance with the first preferredembodiment of the present invention.

FIG. 7 is a flow chart of the system microprocessor programming for asecond preferred embodiment of the present invention.

FIG. 8 is a flow chart of a servo microprocessor routine carried out inthe practice of the second embodiment of the present invention.

FIGS. 9A and 9B are flow charts of servo microprocessor routinesrepetitively carried out in the practice of the second preferredembodiment of the present invention.

FIG. 10 is a fragmentary graph of actuator current versus time during aportion of the execution of the second embodiment of the presentinvention.

FIGS. 11A and 11B are flow charts of the system microprocessorprogramming for a third preferred embodiment of the present invention.

FIGS. 12 is a flow chart portions of the servo microprocessor routinerepetitively carried out in the practice of the third preferredembodiment of the present invention.

FIG. 13 is a graph of portions of the velocity profile illustrating themovement of transducers in the third preferred embodiment of the presentinvention.

FIG. 14 is a flow chart of a portion of the system microprocessorprogramming for a fourth preferred embodiment of the present invention.

FIG. 15 is a flow chart of a portion of servo microprocessor routinesrepetitively carried out in the practice of the fourth preferredembodiment of the present invention.

DESCRIPTION OF THE DISC DRIVE

In order to provide a basis for describing the method of the presentinvention, it will be useful to briefly describe a disc drive in whichthe invention might be practiced. FIG. 1, which illustrates typicalfeatures of a disc drive, designated by the general reference numeral 20in such figure, that employs an embedded servo system to control themovement and positioning of transducers used to store and retrieve userfiles, has been included for this purpose.

While the invention will be discussed in the context of a disc drivethat employs an embedded servo system, it will be clear to those ofskill in the art that the practice of the inventive method is notlimited to the particular type of servo system that might be included ina disc drive. For example, the inventive method might also be practicedin a disc drive having a servo system that includes a dedicated servosurface and a servo transducer to control the movement and positioningof read/write transducers as described in U.S. Pat. No. 5,262,907 issuedNov. 16, 1993 to Duffy et al, the teachings of which are herebyincorporated by reference. Thus, the description of a particular discdrive has been included herein in the spirit of providing a concreteexample that will facilitate an understanding of the invention and isnot intended to imply any limitation with respect to the disc drive inwhich the invention might be advantageously employed.

Referring to FIG. 1, the disc drive 20 is comprised of a plurality ofdiscs, two of which have been illustrated and designated by thereference numerals 22 and 24 in the drawing, that are provided withmagnetizable surface coatings so that computer files can be stored inthe disc drive in the form of patterns of magnetization of concentricdata tracks defined on the disc surfaces. Two such data tracks, 26 and28, have been illustrated on the upper surface of the disc 22. The discs22, 24 are mounted on a spindle 30 for rotation about the centers of thedata tracks and the disc drive is further comprised of a plurality ofread/write transducers, such as the transducers 32 and 34 in FIG. 1,that are supported adjacent the disc surfaces on the ends of flexures,such as the flexures 36 and 38 in FIG. 1, that are mounted on anelectromechanical actuator 40 that can be pivoted to alien a selectedtransducer with a data track that is to store a computer file or fromwhich a previously stored file is to be retrieved.

As is conventional, the disc drive 20 is comprised of a transducerselect circuit 42 that is electrically connected to all of thetransducers and provides two way communication between the selectedtransducer and a read/write circuit 44 that, in turn, communicates witha drive interface 46 that includes a buffer (not shown) that providestemporary storage for files received from a host computer 48 for writingto a selected data track or from a data track for transmission to thehost computer 48. The operation of the drive interface 46, theread/write circuit 44 and the transducer select circuit 42 arecontrolled by a system microprocessor 50 which orchestrates the variousoperations of the disc drive 20 necessary to store or retrieve a file.

In a disc drive that employs an embedded servo system (not generallydesignated in the drawings) the data tracks are organized into a seriesof data sectors 52, one of which has been indicated on the data track26, that are separated by servo sectors 54 to which servo patterns, thatcan be read by a transducer to provide an indication of the radiallocation of the transducer on the adjacent surface, are written at thetime the disc drive is manufactured. In general, the servo sectorsinclude an address field that is magnetized in a pattern that identifiesthe data track that includes the servo sector and a position field thatcan be read by a transducer to determine the location of the transducerwith respect to that track. Typical formats for the address and positionfields have been described in the aforementioned U.S. Pat. No. 5,262,907and need not be described herein for purposes of the present disclosure.

In order to control movement of the transducers between tracks andpositioning of the transducers with respect to a selected track, thedisc drive is further comprised of a servo system (not generallydesignated in the drawings) which, in an embedded system, receivessignals from the transducer that is selected to read or write a file, bytapping the signal path 56 between the transducer select circuit 42 andthe read/write circuit 44. The servo system typically includes a servotiming circuit 58, that employs a phase locked loop (not shown) and acounter (not shown) to generate clocks signals, synchronized with thepassage of the servo sectors, that are transmitted to a transducerlocation generator 60 to control the operation of circuitry in thetransducer location generator 60 that detects signals induced in atransducer selected by the head select circuit 42 as the address andposition fields of a servo sector pass the transducer and stores theaddress of the data track that includes the servo sector and thelocation of the selected transducer with respect to that data track.

Often, and as shown in FIG. 1, the servo system will further include aservo microprocessor 62 that is provided to control movements andpositioning of the transducers and, in such case, it is common practicefor the servo timing circuit 58 to interrupt the servo microprocessor 62each time a servo sector passes the selected transducer so that theservo microprocessor 62 can read the address and transducer locationstored in the transducer location generator 60 and generate a controlsignal that is appropriate to the present mode of operation, trackfollowing or track accessing of the disc drive 20. Alternatively, thecontrol signals can be generated by the system microprocessor 50. Wherea disc drive includes a servo microprocessor 62, the mode of operationof the disc drive and, consequently, the control signals that aregenerated by the servo microprocessor 62, are determined by the systemmicroprocessor 50 which issues commands to the servo microprocessor 62via a communication circuit 64 that provides for bidirectional flow ofinformation between the microprocessors 50 and 62.

Control signals generated by the servo microprocessor 62 are transmittedto an actuator driver that passes an electrical current through a coil68 mounted on the end of the actuator 40 in relation to the controlsignal received by the actuator driver 66. Generally, the current passedthrough the coil 68 is proportional to the control signal up to themaximum current the actuator driver can provide and is such maximum forlarger control signals. The coil 68 is immersed in a magnetic fieldprovided by a permanent magnet assembly (not shown) so that the currentpassed through the coil will give rise to a force on the coil 68 thatexerts a torque on the actuator 40 about a spindle 70 whereon theactuator 40 is mounted. Thus, the transducers can be acceleratedradially across the discs in proportion to the control signals that aregenerated by the servo microprocessor 62 to maintain alignment of aselected transducer with a selected data track or to move a transduceracross the adjacent disc surface to access a selected data track.

DESCRIPTION OF THE VELOCITY PROFILE

As has been noted above, a velocity control approach is generally usedto access a selected data track, a target track, that is to store a fileor from which a file is to be retrieved. In this approach, controlsignals are repetitively generated by the servo microprocessor during aseek phase of the movement of the transducer adjacent the disc surfacethat contains the target track to cause the transducer to be acceleratedto a velocity profile and thereafter to substantially follow thevelocity profile as the transducer approaches the target track. Atypical velocity profile has been illustrated in FIG. 2 and the featuresof such profile will now be described to provide a basis for discussionof the present invention.

As shown in FIG. 2, the velocity profile is a relationship between aprofile velocity and the distance, often referred to as the number of"tracks to go", between a selected transducer and a target track to beaccessed while movement to the target track takes place. Commonly, avelocity profile is selected during the manufacture of a disc drive andstored, either as a look-up table or in the form of coefficients of anequation that can be evaluated during transducer movement, in the memoryof one of the microprocessors 50 or 62. (The description of theinvention to be presented below contemplates that the velocity profilewill be stored in the memory of the system microprocessor 50 but suchstorage is not a limitation on the practice of the invention. Rather,the description of the invention for the case in which the velocityprofile in the system microprocessor memory has been presented in thespirit of providing a concrete example which will facilitate anunderstanding of the present invention.)

Conventionally, the velocity profile 72 includes two portions, adeceleration portion 74 which decreases from a maximum velocity,indicated at 84 in FIG. 2, as the number of tracks to go, plotted alongthe axis 76 in FIG. 2, decreases to zero; that is, as the distancebetween the selected transducer and the target track, represented by theprofile velocity axis 78 in FIG. 2 decreases to zero. The decelerationportion of the profile velocity extends to a maximum distance from thetarget track that has been indicated by the dashed line 80 in FIG. 2 andthe profile 72 further includes a constant velocity portion 82 for whichthe profile velocity is the maximum velocity 84. The manner in which thevelocity profile is often developed is to determine the distancerequired to bring a transducer to rest from any velocity up to themaximum velocity assuming a constant deceleration of the transducer asit nears the target track. The velocities used to make thedeterminations are then stored, as described above, in relation to thecalculated distances. The velocity profile may also include a linearportion as has been indicated at 86 in FIG. 2.

While, as noted above, the practice of the present invention includesthe use of a velocity profile, the inventive method is not limited to aparticular form of the profile. Rather, the form shown in FIG. 2 hasbeen presented to bring out general features of the profile in order tofacilitate the description of the preferred practice of the invention tobe presented below. A further feature of FIG. 2 that is of interest is aminimum distance 88 at which the seek phase of the movement of thetransducer to the target track ends and settling of the transducer onthe target track is commenced using control routines that are notpertinent to the present invention.

Before proceeding to the present invention, it will be useful to note afurther point concerning the development of the velocity profile that isof relevance to the present invention and, further, to briefly describeone mechanism that gives rise to excessive noise during seeks that arecarried out in accordance with conventional methods.

Electrical power for the operation of a disc drive is provided by thehost computer 48, usually at a nominal voltage of 12 volts dc, and suchpower is supplied to the actuator driver 66 to permit the actuatordriver 66 to pass a current through the actuator coil. However, thepower supplied to the actuator driver is not unlimited with the resultthat the actuator driver will generally saturate to supply a maximumcurrent that can vary not only from one disc drive to another but fromtime to time. Since the torque exerted on the actuator is proportionalto the current passed through the actuator coil, the torque is limitedby the maximum current available under existing conditions to limit themaximum rate at which the transducers can decelerate radially across thedisc surfaces. Accordingly, it is common practice in the development ofa velocity profile to determine the portion 74 using a maximum rate ofdeceleration that the transducers can achieve using the maximum currentthat can be supplied to the actuator coil under any conditions in whichthe disc drive might be operated to insure that the movement of atransducer can be terminated at the target track. The relevance of thispoint will become clear below.

One mechanism that gives rise to excessive noise in the movement of atransducer from an initial track, indicated by the line 90 in FIG. 2, inconventional seek methods is an excessively rapid acceleration of thetransducer when the seek begins. Conventionally, the seek is carried outby estimating the velocity of the transducers from measurements of thetransducer location in successive interrupts of the servomicroprocessor, determining the profile velocity from the currentlocation of the transducer and the target track, and determining thecontrol signal that is outputted to the actuator driver in eachinterrupt in proportion to the difference between the estimated andprofile velocities. The result of such control has been illustrated bythe dashed line 92 in FIG. 2 which illustrates the velocity of thetransducers as a function of distance remaining to the target trackusing conventional seek methods. At the time the seek phase commences,the transducers will be substantially at rest in radial alignment withthe initial track so that the difference between the estimated andprofile velocities is substantially the maximum velocity used to developthe velocity profile. Consequently, the control signal will be largeduring initial stages of the transducer movement to cause a largeelectrical current, often the maximum the actuator can supply, throughthe actuator coil 68. As a result, an initial, large force is applied tothe actuator 40 at the outset of the movement of the transducers to giverise to an initial large acceleration of the transducers from theinitial track that has been indicated by the portion 94 of the curve 92.This sudden application of a large force to the actuator 40 isequivalent to a blow delivered to the actuator 68 by the magnets (notshown) that provide the magnetic field in which the actuator coil 68 isimmersed and a reactive blow to the magnets. This blow can set upresonant vibrations in the actuator 40 and the disc drive case whichsupports both the actuator and the magnets to produce readily audiblenoise from the disc drive. In one embodiment of the invention, now to bediscussed with respect to FIGS. 3 through 6, changes in the controlsignal that is outputted to the actuator driver 66 in successiveinterrupts of the servo microprocessor are limited to effect acorresponding limitation in changes in the forces that can beexperienced by the actuator in successive time intervals that correspondto the interrupts.

DESCRIPTION OF THE FIRST EMBODIMENT

To facilitate an understanding of the invention, it will be useful,prior to describing the inventive method in detail, to present a briefoverview of a servo control approach that can be advantageouslyexploited in the practice of the invention and which is contemplated inthe flow charts by means of which the inventive method will be describedbelow. Such approach is a state-space design approach using a full orderestimator to estimate, in each repetition of an interrupt program inwhich control signals are generated by the servo microprocessor 62 andoutputted to the actuator driver 66, the position and velocity of thetransducers at the beginning of next interrupt of the servomicroprocessor. Additionally, bias forces that are exerted on theactuator; for example, forces on the transducers arising from airswirled by the discs, are estimated in each interrupt and are used togenerate a component of the control signal that is added to a componentderived from the velocity profile in a manner that will be describedbelow.

In this approach, the transducer location information inputted by theservo microprocessor 62 in each interrupt is compared to the estimatedposition for that interrupt to update the position, velocity and biasestimates. Additionally, the comparison is utilized to derive a thirdcomponent of the control signal that compensates for variations betweenthe locations of the transducers, as determined by reading the addressand position fields of the servo sector that passes a selectedtransducer before each interrupt, and the position of the transducersthat is estimated for each interrupt. Thus, throughout the seek phase,the bias forces exerted on the actuator will be fully compensated sothat the settle phase, and subsequent track following by thetransducers, will commence with control signals that include the effectof the bias forces. Consequently, the transducers will be rapidlysettled on the target track without an offset that can arise from thebias forces to permit early initiation of reading a file from the targettrack or writing a file to the target track.

As has been noted above, the velocity profile that is used in thegeneration of control signals during the seek phase of movement ispreferably stored in the system microprocessor 50. Such storage, coupledwith the estimation, in each interrupt, of the transducer location forthe next interrupt, permits early determination of the profile velocityto expedite the generation of the control signal to be outputted to theactuator driver 66 in each interrupt that will minimize processing timebetween the determination of parameters utilized to determine thecontrol signal in each interrupt of the servo microprocessor and theoutput of the control signal to the actuator driver. Consequently,control signals outputted to the actuator driver will reflectsubstantially the state of the servo system at the time the interrupt ofthe servo microprocessor 62 occurs to maintain accurate control over themovement of the transducers throughout the seek phase that willfacilitate rapid settling of the transducers on the target track at thetermination of the seek phase.

Referring now to FIGS. 3, 4, 5A and 5B, shown therein are a flow chartof a system microprocessor program utilized in carrying out a seek inaccordance with the present invention, a flow chart of an interruptroutine that is executed by the servo microprocessor 62 immediatelypreceding the commencement of the seek phase of movement of a selectedtransducers to a selected track and a flow chart of an interrupt routinethat is repetitively executed by the servo microprocessor 62 during theseek phase of movement of the transducer to the target track. These flowcharts will be described in turn.

Referring first to FIG. 3, movement of a selected transducer to aselected data track on the disc surface adjacent the selected transduceris initiated by the host computer via a command outputted to the driveinterface 46 along with the identification of the transducer that is tobe used to read or write a file at the termination of the movement ofthe transducers and the address of the data track to which the file isto be stored or from which a file is to be retrieved. In response to thecommand from the host computer, the system microprocessor 50 will readthe transducer selection, step 96, and target track location, step 98,from the drive interface 46 and determine the distance, referred toherein as the seek distance, from the track currently being followed tothe target track as indicated at step 100.

In some cases, the seek distance will be less than or equal to theminimum distance 88 at which settling is initiated in longer movementsof the transducers and, in such case, the seek phase of the movementneed not be carried out. Rather, the movement of the transducers can beeffected using the settle routine that follows the seek phase for longermovements of the transducers. Thus, following the determination of theseek distance, the seek distance is compared to the minimum distance 88(see FIG. 2) of the velocity profile, step 102, and, if the seekdistance does not exceed such minimum distance, the systemmicroprocessor exits to the settle routine at step 104. The settleroutine, which may be any conventional settle routine, is not germane tothe present invention and need not be further discussed for purposes ofthe present disclosure.

If the seek length exceeds the minimum distance 88 for which settling isto be effected, the seek distance is selected as a profile distance,step 106, to be used to determine a profile velocity, step 108, usingthe velocity profile that is stored in the memory of the systemmicroprocessor 50 as has been described above; that is, by using theprofile distance to look up the profile velocity or by evaluating afunction, which expresses the profile velocity, at the profile distance.This profile velocity is outputted to a latch in the communicationscircuit 64, step 110, to be read by the servo microprocessor 62 and usedto generate a control signal to be outputted to the actuator driver 66as will be described below. It will be noted that, since the profiledistance determined at step 106 is the seek distance, the profilevelocity determined at step 108 can be any velocity up to the maximumvelocity 84 used to generate the velocity profile 72. Accordingly, sincethe seek begins with the transducers following an initial track with aradial velocity of zero, determination of the control signal in directproportion to the difference between the profile velocity and the radialvelocity of the transducers in the conventional manner would often leadto the generation of a large amount of acoustic noise as movement of thetransducers commences.

Following output of the profile velocity, the target track address and aseek command are outputted to latches in the communications circuit 64,at steps 114 and 116 respectively, and a code that identifies theselected transducer is outputted, step 118, to the transducer selectcircuit 42 to cause signals appearing on the signal path 56 andtransmitted to the transducer location generator 60 and the servo timingcircuit 58 to be signals induced in the selected transducer by movementof data tracks on the surface that contains the selected data track bythe selected transducer. The system microprocessor then sets a commandflag, step 120, in the communications circuit 64 and enters a loop inwhich the system microprocessor 50 repetitively determines profilevelocities as the seek phase of the transducer movement proceeds. Moreparticularly, the system microprocessor 50 repetitively polls a latch inthe communications circuit 64 to determine whether a system flag hasbeen set by the servo microprocessor 62, as indicated by the decisionblock 122.

When the system flag is set, the system microprocessor 50 inputs, atstep 124, the contents of a latch in the communications circuit 64 that,as will be discussed below, will contain the number of tracks to go tothe target track from the location of the selected transducer at thebeginning of an interrupt of the servo microprocessor and resets thesystem flag, step 126. The number of tracks to go to the target track iscompared, step 128, to the minimum distance 88 of FIG. 2 at which settleis to be commenced and, if the number of tracks to go is less than orequal to the minimum distance 88, the system microprocessor 50 exits tothe settle routine 104. If not, the number of tracks to go is selectedas a new profile distance, step 130, and the profile velocity for thisdistance is determined, step 132, from the stored velocity profile, andoutputted to a latch in the communications circuit 64 at step 134. Thesystem microprocessor then returns to polling the communications circuit64 to determine whether the system flag has been set. Thus, the systemmicroprocessor 50 will repetitively execute a portion of a control cyclewhich, as will be discussed below, leads to the generation of a controlsignal by the servo microprocessor 62 in each interrupt of the servomicroprocessor 62 and transmittal of the control signal to the actuatordriver 66 so long as the selected transducer is located a number oftracks from the target track that exceeds the minimum distance for whichsettle of the selected transducer on the selected track is to commence.

Referring to FIG. 4, shown therein is a flow chart of a servomicroprocessor 62 interrupt routine that is executed by the servomicroprocessor 62 in the interrupt that follows issuance of the seekcommand by the system microprocessor at step 116 of FIG. 3. In theinterrupt routine illustrated in FIG. 4, the servo microprocessor 62will initially execute a track follow control subroutine, step 136, inwhich a control signal is generated using previously estimated statevariables, determined in the previous interrupt as has been describedabove, and outputted to the actuator driver 66. In response to thecontrol signal, the actuator driver 66 will pass a current through theactuator coil to apply forces to the actuator 40 that will correctdeviations of a previously selected transducer from a previouslyselected data track. The track following control subroutine, which isconventional, is not germane to the present invention and need not befurther considered for purposes of the present disclosure.

Following execution of track follow control subroutine, the state of theservo system at the beginning of the next interrupt, indicated by theindex n, at which the movement of the selected transducer to the targettrack commences, is estimated, step 138, and a third component of thecontrol signal that will be used in the control signal outputted to theactuator driver in the next, or nth, interrupt is predetermined at step140. (The estimation of the state of the system at the beginning of thenext interrupt utilizes information that is obtained during the trackfollow subroutine as well as in initial stages of the routines that arefollowed during the seek phase of the movement of the selectedtransducer to the target track. Accordingly, it will be useful toconsider the manner in which the state estimation is effected and themanner in which the third component of the control signal is generatedin the discussion of interrupts utilized in effecting transducermovements to follow.) Once the state estimation and third control signalcomponent calculation steps have been completed, the servomicroprocessor checks the communication circuit 64 to determine whetherthe command flag has been set, step 142, and, if not, the interrupt ofthe servo microprocessor 62 ends. In such case, a new track followsubroutine will be carried out in the next interrupt. Thus, in general,the servo microprocessor 62 will repetitively execute track followingbetween commands received from the system microprocessor 50 to executemovement of a newly selected transducer to a newly selected data trackon the disc surface adjacent the selected transducer.

In the interrupt of the servo microprocessor 62 following the issuanceof a seek command by the system microprocessor 50, the command flag willbe set and the servo microprocessor 62 inputs, at step 144, the commandthat has been previously entered in the communication circuit 64 by thesystem microprocessor 50; that is, the seek command that has beenoutputted at step 116 of FIG. 2. In response to the seek command, theservo microprocessor selects, at step 146, a transducer locationvalidation parameter, Δx, to be discussed below and the address of thetarget track to initialize a routine that will be repetitively executedin successive interrupts to effect the seek phase of movement of theselected transducer to the target track. Following input of the targettrack address, the command flag is reset, step 150, and the interruptends.

Referring now to FIG. 5A and 5B, shown therein is a flow chart of aservo microprocessor routine that is repetitively executed, once in eachinterrupt of the servo microprocessor 62, from the commencement of theseek phase of movement of the selected transducer to the target trackuntil the system microprocessor 50 issues a new command to the servomicroprocessor 62 when the system microprocessor 50 exits to the settleroutine. Following passage of a servo sector 54 by the selectedtransducer the servo microprocessor is interrupted by the servo timingcircuit 58 as has been described above and, in the initial step of theinterrupt routine during the seek phase, step 152 in FIG. 5A, inputs thelocation of the selected transducer with respect to the data tracks onthe disc surface adjacent the selected transducer from the transducerlocation generator 60. Such location, indicated as HDLOC(n) in FIG. 5A,is comprised of the track address and transducer head location that arestored in the transducer location generator 60 during passage of theservo sector preceding the interrupt as described above. Thus, HDLOC(n)will be comprised of the address of the data track nearest the selectedtransducer at the time the interrupt is issued to the servomicroprocessor 62 and the distance between the selected transducer andsuch data track.

In general, the transducer location inputted at step 152 will differfrom the location of the selected transducer for the beginning of theinterrupt that has been estimated in the previous interrupt and thedifference is calculated, step 154, as an estimation error, ESTERR(n),that will be utilized in the generation of a control signal and theestimation of the state of the servo system at the beginning of thenext, or (n+1)st, interrupt as will be described below. Following thecalculation of the estimation error, the transducer location, HDLOC(n),inputted at step 152 is validated by determining whether ESTERR(n) isless than the transducer validation parameter as indicated by thedecision block 156 in FIG. 5A. Greater differences indicate thatexcessive noise has occurred in the reading of the servo sector that haspassed the selected transducer immediately prior to the servomicroprocessor interrupt so that use of ESTERR(n) in the generation ofcontrol signals and estimates of the state of the servo system at thebeginning of the next interrupt, as will be described below, would leadto inappropriate values for the control signals and the servo systemstate estimates. If the estimation error ESTERR(n) is greater than theparameter Δx, ESTERR(n) is set to zero, step 158, to avoid inaccuraciesin the control signals and estimates. The value of the parameter Δx isselected on the basis of the estimated velocity for the next interruptto reflect velocity dependent ranges of estimation accuracy, stemmingfrom variations in component characteristics from one disc drive toanother, at the time of disc drive manufacture and stored in the memoryof the servo microprocessor 62.

Following validation of the location of the selected transducer, theprofile velocity. PROFVEL(n), most recently outputted to thecommunications circuit 64 from the system microprocessor 50 is inputtedby the servo microprocessor 62, step 160, and the servo microprocessor62 proceeds to the generation of the control signal that is to beoutputted to the actuator driver 66.

In the preferred practice of the present invention, the control signalfor the nth interrupt has three components, a component U1(n) determinedfrom the profile velocity inputted at step 160 and components, U2(n) andU3(n) that are internally generated within the servo microprocessor tocompensate, respectively, for differences between the estimated andmeasured locations of the selected transducer at the beginning of thenth interrupt and bias forces that are exerted on the actuator. However,the inventive method is not limited to the generation of control signalshaving all of these components. As is known in the art, the seek phaseof transducer movement can be carried out without using the state-spacedesign approach to servo control in which the servo microprocessorutilizes a full order estimator to repetitively estimate the state ofthe servo system at the beginning of each servo microprocessorinterrupt. In such case, only the first component U1(n) would be used inthe generation of control signal. Thus, discussion of the generation ofthe control signal to include three components is presented in thespirit of providing a complete description of the best mode ofpracticing the present invention but is not limiting on such practice.

Following the input of the profile velocity at step 160, the componentsU1(n) and U2(n) are calculated, step 162, in accordance with therelations:

    U(n)=A1 PROFVEL(n)-ESTVEL(n)!                              (1)

and

    U2(n)=A2 ESTERR(n)                                         (2)

where ESTVEL(n) is the estimated radial velocity of the selectedtransducer at the beginning of the nth interrupt. Such estimate will bethe velocity estimated in the previous interrupt using the state-spacedesign control approach where such approach is used. Where thestate-space design approach is not used, the velocity ESTVEL(n) isobtained from successive measurements of the location of the selectedtransducer in a conventional manner.

Returning to FIG. 4, the component of the control signal U3(n),calculated at step 140 of the (n-1) interrupt for use in the nthinterrupt is calculated in accordance with the relation:

    U3(n)=A3 ESTBIAS(n)                                        (3)

where ESTBIAS(n) is the bias force, estimated at step 138 of the (n-1)stinterrupt, that will be experienced by the actuator 40 at the beginningof the nth interrupt. As is known in the art, the constants in theseequations will generally vary from one disc drive to another and can bedetermined for a particular disc drive at the time of manufacture usingstandard servo plant modeling techniques.

Once the components of the control signal have been determined, they areadded, step 164, to provide a control signal which, after adjustment, isoutputted to the actuator driver 66. Additionally, prior to adjustment,the control signal may be limited to a maximum value Umax, that isselected to prevent the actuator driver 66 from passing the maximumelectrical current which it can supply through the actuator coil 68. Aswill be clear to those of skill in the art, such limitation will causethe current that is passed through the actuator coil 68 to give rise toforces that are used to carry out the seek phase of movement of thetransducers to be proportional to the control signal that, after furtheradjustment, will be outputted to the actuator driver 66. Thus, thecontrol signal that is outputted to the actuator driver will provide ameasure of the force on the actuator for a purpose that will bedescribed below. The limitation of the control signal to Umax iseffected by comparing the control signal determined at step 164 to themaximum control signal Umax, step 166, and, at step 168, replacing thecontrol signal calculated at step 164 with the maximum control signalUmax at such times that the calculated control signal exceeds Umax. (Aswill be recognized by those of skill in the art, the control signal andthe maximum control signal will have signs indicative of the directionof movement of the transducers. For clarity of illustration, the signsof these quantities have been suppressed in the drawings.) Where thedisc drive includes means for measuring the actuator current andinputting the actuator current to the servo microprocessor 62; forexample, as described in the aforementioned U.S. Pat. No. 5,262,907, thelimitation on the maximum control signal that can be outputted to theactuator driver 66 provided by the steps 166 and 168 can be omitted andthe current through the actuator coil 68 can be used as a measure of theforce on the actuator 40 in steps discussed below.

In accordance with the first aspect of the present invention, thecontrol signal that is outputted to the actuator driver 66 is adjusted,either with or without the limitation provided by steps 166 and 168 asis appropriate, to prevent large changes in the control signal from oneinterrupt to the next that will give rise to noise during the seek phaseof transducer movement. To this end, the difference

    ΔU=U(n)-U(n-1)                                       (4)

between the control signal calculated at step 164 (or the limitedcontrol signal determined at step 168) and the control signal that wasoutputted to the actuator driver 66 in the previous interrupt iscompared to a slew rate limit ΔUmax, step 170, preselected as will bedescribed below, and if the difference exceeds the slew rate limit, thecontrol signal is adjusted, step 172, to be the sum of the slew ratelimit and the control signal outputted in the previous interrupt. (As inthe case of the maximum control signal, signs have been suppressed inthe steps 170 and 172 for clarity of illustration of the servomicroprocessor programming.) The adjusted control signal is thenoutputted to the actuator driver 66 at step 174 in FIG. 5A.

Referring now to FIG. 5B, wherein the flow chart for the interrupt underdiscussion is continued as indicated by the connector A in FIGS. 5A and5B, the adjusted control signal outputted to the actuator driver 66 isstored for use in the next interrupt, step 176, and the servomicroprocessor 62 turns to the estimation of the state of the system atthe beginning of the next interrupt of the servo microprocessor 62. Inparticular, in each interrupt, indicated as the nth interrupt in FIGS.5A and 5B, the location, ESTLOC(n+1), of the selected transducer, itsvelocity, ESTVEL(n+1). and the bias force ESTBIAS(n+1) the actuator 40will experience at the beginning of the next, the (n+1), interrupt arecalculated, in step 178, in accordance with the relations that can begenerally expressed as

    ESTLOC(n+1)=ESTLOC(n)+B1 ESTVEL(n)+B2 ESTBIAS(n)+B3U(n)+B4U(n-1)+B5 ESTERR(n)                                                 (5)

    ESTVEL(n+1)=ESTVEL(n)+B6 ESTBIAS(n)+B7U(n)+B8U(n-1)+B9 ESTERR(n)(6)

    ESTBIAS(n+1)=ESTBIAS(n)+B10 ESTERR(n)                      (7)

where the constants are determined using standard plant modelingtechniques. Before proceeding, it will be useful to briefly discussthese estimation equations. The first term on the right hand side ofequation (5) is the estimated location of the selected transducer at thebeginning of the nth interrupt. The second term in equation (5) is thechange in location of the selected transducer arising from the velocity,of the transducer at the beginning of the present, or nth, interrupt andthe next three terms are changes in location of the selected transducerarising from acceleration of the transducer during the nth interrupt.Such acceleration will be proportional to the forces exerted on theactuator as reflected by the term containing ESTBIAS(n) and the termcontaining the control signal U(n) that gives rise to the applied forceon the actuator arising from the passage of a current through theactuator coil 68. The term containing U(n-1) has been included forgenerality to compensate, in the present embodiment of the invention,for computation delay.

As noted above, the steps 166 and 168 of FIG. 5A may be deleted if thedisc drive 20 includes circuitry that will permit the actuator currentto be measured and inputted to the servo microprocessor 62. In suchcase, the actuator current is inputted along with the transducerlocation at step 152 of FIG. 5A and the term containing U(n) in theabove equations is replaced with a term that contains the actuatorcurrent.

The final term in equation (5) is a correction, determined from theestimate of the error ESTERR(n) determined at step 154, that compensatesfor any effects; for example, variations in the bias forces exerted onthe actuator 40, that might cause the estimated location of the selectedtransducer at the beginning of an interrupt to vary from the measuredlocation.

The estimated velocity ESTVEL(n+1) is similarly determined by addingterms that take the acceleration of the selected transducer during thenth interrupt into account to the estimated velocity ESTVEL(n) for thebeginning of the nth interrupt along with a term that compensates foreffects that might cause the estimated location of the transducer at thebeginning of the nth interrupt to vary from the measured location. As inthe case of the constant B4 of the location estimation equation, theconstant B8 of the velocity estimation equation compensates forcomputation delay in the embodiment of the invention illustrated inFIGS. 3 through 5B.

The form of the bias estimation equation; that is, equation (7), isselected to update the estimated bias to take variations in the biasforces as a function of the radial location of the selected transducerinto account and eliminate offsets that such forces might produce thatwould extend the time required to settle the selected transducer on thedata track following the completion of the seek phase of the movement ofthe selected transducer to the target track.

Following the estimation of the state of the system at the beginning ofthe next, or (n+1)st, interrupt, the validation parameter Δx for thenext interrupt is selected, step 179 and the third component of thecontrol signal to be determined in the next interrupt is calculated,step 180, from the estimate of the bias forces, ESTBIAS(n+1), that willbe exerted on the actuator 40 at the beginning of the next interrupt.Additionally the number of tracks to go to the target track at thebeginning of the next interrupt. TTG(n+1), is calculated, step 182, fromthe estimate of the location ESTLOC(n +1) that the selected transducerwill have at the beginning of the next interrupt and the address of thetarget track. This number of tracks to go is outputted to a latch in thecommunications circuit 64, step 184, and the system flag in thecommunications circuit 64 is set, at step 186. The command flag in thecommunications circuit 64 is then checked, decision block 188, todetermine whether the system microprocessor 50 has issued a command forthe execution of a new routine in the next interrupt of the servomicroprocessor 62; for example, a command for a routine that would beused in the settling of the selected transducer on the target track. Ifso, the new command inputted and the seek phase of the movement of theselected transducer to the target track is terminated. The interruptthen ends. If not, the interrupt ends without the reception of a newcommand and the seek routine illustrated in FIGS. 5A and 5B will berepeated in the next interrupt of the servo microprocessor 62.

While the servo microprocessor 62 is carrying out the final steps of theseek routine; that is, the steps 188 and 190 of FIG. 5B, the systemmicroprocessor 50 determines the profile velocity to be inputted by theservo microprocessor 62 at step 160 of the next servo microprocessorinterrupt. Returning to FIG. 3, the setting of the system flag at step186 of the seek routine illustrated in FIG. 5B will be detected at step122 of the system microprocessor program to signal the presence of thenumber of tracks to go, at the beginning of the next interrupt of theservo microprocessor 62, in the communications circuit 64. As describedabove, the system microprocessor inputs this number of tracks to go anddetermines whether the seek phase is to be terminated by an exit to thesettle routine or, if the selected transducer has yet to reach thedistance from the target track at which settle is to commence,determines the profile velocity that is to be used by the servomicroprocessor in the generation of the control signal to be outputtedto the actuator driver 66, outputs this profile velocity and returns topolling the system flag.

FIG. 6 illustrates the manner in which the use of a slew rate limit inthe determination of the control signal that is outputted to theactuator driver 66 limits noise generated during the seek phase oftransducer movement and FIGS. 2 and 6 illustrate the manner in which asuitable slew rate limit can be selected for this purpose. Referringfirst to FIG. 6, shown therein in solid line is a graph 192 of theactuator coil current versus time during movement of the selectedtransducer to the target track in accordance with the present inventionand, for purposes of comparison, a graph 194 of actuator coil currentversus time for transducer movements made using conventional methods.(For purposes of illustration, FIG. 6 has been drawn using theconvention that the actuator current will be negative for accelerationof the selected transducer toward the target track and positive forsubsequent deceleration of the selected transducer. Further, FIG. 6 hasbeen drawn for the case in which the distance between the initial trackand the target track corresponds to the distance between the line 90 andthe axis 78 in FIG. 2; that is, for a relatively large radialdisplacement of the selected transducer.)

In accordance with conventional seek methods, the control signal that isoutputted to the actuator driver 66 at the start of the seek phase willbe proportional to the difference between the profile velocity and theradial velocity of the selected transducer at a time for which suchradial velocity is substantially zero. Thus, the actuator coil currentwill quickly rise, as indicated at 196, to the maximum current theactuator driver can supply, indicated at 198 in FIG. 6, and remain atsuch maximum substantially throughout the acceleration of the selectedtransducer to the maximum velocity 84 of the velocity profile shown inFIG. 2; that is, the maximum current 198 will be supplied in each of asuccession of control cycles corresponding to successive interrupts ofthe servo microprocessor while the velocity of the selected transducerincreases in accordance with the portion 94 of the transducer velocitycurve shown in FIG. 2. As the velocity of the selected transducerapproaches the maximum profile velocity 84, the actuator coil currentwill sharply drop to zero, as indicated at 200 in FIG. 6, and theselected transducer will then enter a coast period in which the selectedtransducer moves at substantially the maximum profile velocity while thecontrol signal outputted to the actuator driver in each of a successionof interrupts of the servo microprocessor is substantially zero toresult in an actuator current of substantially zero as indicated by theportion 202 of the curve 194 in FIG. 6. When the selected transducerreaches the distance indicated by the line 80 in FIG. 2 at whichdeceleration is to commence, the control signal will increase to thevalue determined by the deceleration of the selected transducer used togenerate the portion 74 of the velocity profile 72 so that the actuatorcurrent will undergo a sharp increase 204 to the maximum decelerationcurrent selected for the velocity profile and will remain at suchcurrent until the distance 88 in FIG. 2, indicated by the line 208 inFIG. 6, at which settle is to be commenced is reached. Thereafter, theactuator coil current is decreased to zero as the selected transducer issettled on the target track. Since the force exerted on the actuatorcoil by the magnetic field in which the coil is immersed, and thereaction force on the magnets which provide the magnetic field, isproportional to the actuator coil current, the forces that are appliedto the actuator to effect the movement of the selected transducer to thetarget track will undergo sharp changes that correspond to the sharpchanges in the actuator coil current indicated at 196, 200 and 204 inFIG. 6. These sharp changes in the force applied to the actuator coilcan excite resonances in the actuator and the disc drive case to giverise to acoustic noise during movement of the selected transducer to thetarget track.

The use of a slew rate limit in accordance with the present inventionprevents the sharp changes in the actuator coil current from occurring.More particularly, during acceleration of the selected transducer to themaximum profile velocity, as indicated by the portion 210 of a velocitycurve 212 in FIG. 2 for movement of the selected transducer inaccordance with the present invention, the control signal outputted tothe actuator driver 66 in each interrupt of the servo microprocessor 62is limited to the sum of the previous control signal and the slew ratelimit. Thus, the actuator coil current will be increased at asubstantially constant rate, as indicated at 14 in FIG. 6 until themaximum actuator coil current is reached. Such current will bemaintained until the velocity of the selected transducer approaches themaximum profile velocity 84 along the portion 210 of the curve 212 inFIG. 2.

As the selected transducer approaches the maximum profile velocity, thedifference between the profile velocity and the radial velocity inequation (1) will rapidly drop so that the selected transducer willagain go into a coasting phase during which the transducer velocity issubstantially the maximum profile velocity and the actuator coil currentis substantially zero. However, because of the limitation of changes inthe control signal provided by the slew rate limit, the transition fromacceleration to coasting will take place over a plurality of interruptsof the servo microprocessor in which the control signal outputted to theactuator driver and, consequently, the current passed through theactuator coil is slowly reduced to zero as indicated by the portion 216of the curve 192 in FIG. 6. When the distance between the selectedtransducer and the target track reaches the maximum distance 80 at whichdeceleration is to be commenced, the actuator current will similarlyundergo an increase, 218, having a time rate of change which is limitedby the slew rate limit imposed on the control signal that is outputtedto the actuator driver 66. Thus, sharp changes in the current suppliedto the actuator coil 68 by the actuator driver 66, and consequent sharpchanges in forces exerted on the actuator 40 to effect movement of theselected transducer to the target track, are eliminated to limit theexcitation of resonant vibrations in the actuator and disc drive case.

FIGS. 2 and 6 also illustrate the manner in which an appropriate slewrate limit is selected. Because of the use of the slew rate limit, theactuator coil current will not rapidly attain the deceleration currentused to design the velocity profile so that the velocity curve for theselected transducer will initially overshoot the portion 74 of thevelocity profile 72 as shown by the portion 220 of the velocity curve212 in FIG. 2. Thus, a control signal component calculated in accordancewith equation (1) when the slew rate limit is imposed will generallyattain larger values in interrupts during which the deceleration of theselected transducer takes place than would be the case for conventionalseek methods. Consequently, the limitation on the rate of change of thecontrol signal outputted to the actuator driver is accompanied by acorresponding increase in the maximum value the control signal will haveand a consequent increase in the maximum current passed through theactuator coil as indicated by the peak 222 in the actuator current curvein FIG. 6. In order to insure that the actuator driver will be able toprovide this peak current, the slew rate limit is selected to have avalue which will result in a peak current which is within the maximumcurrent supply capabilities of the actuator driver. Subject to thiscondition, the value of the slew rate limit can be selected on the basisof noise measurements during seeks made at the time of disc drivemanufacture.

DESCRIPTION OF THE SECOND EMBODIMENT

Like the first embodiment of the invention, the second embodiment ispracticed by appropriate programming of the system and servomicroprocessors, 50 and 62 respectively. Moreover, the programming ofthe microprocessors to implement the second embodiment is very similarto the programming of the microprocessors to implement the firstembodiment with the result that a step-by-step description of theprogramming of the microprocessors 50 and 62 is not necessary to providea complete description of the manner in which the second embodiment iscarried out. Rather, for the purpose of describing the secondembodiment, it will suffice to identify steps in the flow chartspresented in FIGS. 7, 8, 9A and 9B, by means of which the secondembodiment is implemented, that are identical to steps that are carriedout in the practice of the first embodiment with the numerals used inFIGS. 3, 4, 5A and 5B, briefly summarize these steps and discuss thedifferences between the flow charts that relate to differences in themanner in which the two embodiments are practiced. Referring to FIG. 7,shown therein is a flow chart, corresponding to the flow chart of FIG.3, of the system microprocessor program used in the practice of thesecond embodiment of the present invention. As in the practice of thefirst embodiment, the movement of a selected transducer to a targettrack is commenced in response to a command received from the hostcomputer 48 and the system microprocessor responds by inputtinginformation needed to execute the movement, steps 96 and 98, anddetermining information, part of which is to be outputted to the servomicroprocessor 62, to initiate the seek. In particular, the distancebetween the initial and target tracks is determined, step 100, andcompared with the minimum distance, step 102, that determines whetherthe movement is to include a seek phase, or to exit to a settle routineas in the first embodiment. If not, an initial profile velocity isdetermined, steps 106 and 108, and outputted to the servo microprocessor62, via the communications circuit 66, along with the target locationand the seek command, steps 106, 108, 110, 114, 116. In the practice ofthe second embodiment of the invention, the information that isoutputted to the communications circuit for use by servo microprocessorincludes only one further quantity, a delay time that is outputted at astep 224 in FIG. 7. The use of this delay time, which is substantiallyhalf the time between interrupts of the servo microprocessor 62, will bedescribed below. As in the case of the first embodiment, the transducerthat is to store or retrieve a file following the movement is outputtedto the transducer select circuit 42, step 118, and the command flag isset, step 120, so that the servo microprocessor 62 will commence theseek phase following the interrupt in which the seek command isreceived. The system microprocessor 50 then enters the previouslydescribed loop in which it responds to a set system flag, step 122, todetermine and output a new profile velocity to the servo microprocessor62 on the basis of the number of tracks to go received from the servomicroprocessor, steps 124, 130, 132, and 134, or exits to the settleroutine, step 128. Thus, the only difference between the systemmicroprocessor programs for carrying out the seek phase of transducermovement for the first and second embodiments is that the program forthe second embodiment includes the step of outputting the delay time,step 224 noted above, to the communications circuit 64 to besubsequently inputted by the servo microprocessor 62.

Referring to FIGS. 4 and 8, wherein are shown the routines executed bythe servo microprocessor 62 in the first interrupt following theissuance of the seek command by the system microprocessor for the firstand second embodiments respectively, the only difference between suchroutines is that the routine for the second embodiment includes theinput of the delay time at the step 226 shown in FIG. 8. Thus, with theexception of the input of the delay time, the servo microprocessor 62 isinitialized to execute the seek phase in a succession of subsequentinterrupts for the second embodiment of the invention in exactly thesame manner that the servo microprocessor is initialized to carry outthe seek phase in the first embodiment.

The routine that is repetitively executed, in successive interrupts ofthe servo microprocessor 62, during the seek phase of transducermovement in accordance with the second embodiment of the presentinvention has been illustrated in FIGS. 9A and 9B to which attention isnow invited. In the second embodiment of the present invention,limitations on changes in the actuator current, changes that give riseto acoustic noise as described above, is effected by dividing eachinterrupt of the phase into two time intervals, each having a durationof substantially half the time between interrupts of the servomicroprocessor 62, and adjusting the control signal determined for theinterrupt in relation to the control signal for the previous interruptin two stages. To this end, the control signal for the interrupt isdetermined and limited, steps 152, 154, 156, 158, 160, 162, 164, 166,and 168, in the practice of the second embodiment in exactly the sameway that the control signal is determined and limited in the same stepsof the first embodiment. The primary difference between the twoembodiments is that, instead of slew rate limiting the control signalprior to output to the actuator driver, step 174, as shown in steps 170and 172 in FIG. 5A for the first embodiment, the control signal in thesecond embodiment is averaged with the control signal for the previousinterrupt, step 228, prior to output to the actuator driver 66 and thesecond embodiment includes additional steps which have been illustratedin FIG. 9B. As shown therein, following the storage of the controlsignal calculated for the present interrupt, estimation of the state atthe beginning of the next interrupt, selection of the validationparameter Δx, determination of the third component of the control signalfor the next interrupt, determination of the number of tracks to go atthe beginning of the next interrupt, output of such number of tracks togo to the communication circuit 64 and setting of the system flag, steps176, 178, 179, 180, 182, 184, and 186 in FIGS. 5B and 9B, the servomicroprocessor 62 enters a loop, decision block 230 and time incrementblock 232, in which the servo microprocessor determines whether a timeequal to the delay time has elapsed since the system flag was set. Oncesuch time has elapsed, the servo microprocessor 62 outputs the controlsignal determined in the present interrupt to the actuator driver, step234, prior to executing the check of the communication circuit 66 for anew command from the system microprocessor 50 and input of any newcommand at steps 188 and 190 shown in FIGS. 5B and 9B. Thereafter, as inthe first embodiment, the interrupt ends.

The manner in which acoustic noise is limited in the practice of thepresent invention in accordance with the second embodiment of theinvention has been illustrated in FIG. 10. Before proceeding to thisdrawing, two points concerning the steps shown in FIG. 9B should benoted. As in the first embodiment, the location and velocity of theselected transducer at the beginning of the next interrupt areestimated, at step 178, in accordance with equations (5) and (6), andsuch equations include terms that represent changes in the location andvelocity arising from the acceleration of the selected transducer. Inthe first embodiment, the control signal that gives rise to theacceleration is the slew rate limited control signal that is calculatedfor each interrupt and such control signal is maintained in a latch inthe actuator driver 66 until a new control signal is outputted to theactuator driver in the next interrupt. In such embodiment, thecoefficients B4 and B8 were selected to compensate for computationdelay. In the second embodiment, values of these coefficients areselected to reflect the dependence of the control signal, andconsequently the acceleration of the selected transducer, outputted atstep 174 of FIG. 9A on the average of control signals determined in twosuccessive interrupts of the servo microprocessor as well as computationdelay.

The second point concerns the selection of the delay time. Preferably,the time between the output of the average control signal at step 174 ofFIG. 9A and the output of the control signal determined for the presentinterrupt at step 234 of FIG. 9B is half the time between interrupts ofthe servo microprocessor 62. To achieve this timing, the delay time isselected to be half the time between interrupts of the servomicroprocessor less the time required for execution of the steps 176,178, 180, 182, 184, 186 and 230 of FIG. 9B by the servo microprocessor62.

Referring now to FIG. 10, shown therein is a graph 236 of the currentpassed through the actuator coil 68 during each of a succession of timeintervals, 238, 240 and 242, between successive updates of the controlsignal during the execution of the seek phase in accordance withconventional seek methods while the selected transducer is beingaccelerated away from the initial track or decelerated toward the targettrack. Conventionally, during either acceleration or deceleration of thetransducers, the control signal will be changed by a discrete amountduring each time interval with the result that the graph 236 of theactuator coil current will have the form of a series of arcs that eachexhibit an initial rapid rise determined by the inductance andresistance of the actuator coil 68. Thus, during each interrupt, theactuator coil current and, consequently, the force applied to theactuator 40, will exhibit a rapid rate of change that acts as a seriesof blows delivered to the actuator. This series of blows can give riseto resonant vibrations of the actuator 40 and the disc drive case toresult in the generation of noise during the seek phase of transducermovement. In accordance with the second embodiment of the presentinvention, each time interval is divided into two segments, asillustrated at 244 and 246 for the time interval 240, and any differencebetween the control signal determined for the time interval and thecontrol signal determined for the previous time interval is applied intwo increments, corresponding to current differences indicated at 248and 250 in FIG. 10, to give rise to a substantially constant rate ofchange of the actuator coil current, and consequent rate of change ofthe force exerted on the actuator 40, illustrated by the dashed line 252that will tend to minimize the generation of acoustic noise during theseek phase of transducer movement.

DESCRIPTION OF THE THIRD EMBODIMENT

Referring now to FIGS. 11A, 11B, and 12, shown therein are flow chartsof routines carried out by the system and servo microprocessors. 50 and62 respectively, in the practice of a third embodiment of the presentinvention. As in the case of the second embodiment, the third embodimentmakes extensive use of previously described programming; consequently,it will facilitate an understanding of the invention to only brieflysummarize such programming in the description of the present embodimentand to limit discussion of the flow charts presented in FIGS. 11A, 11B,12 to differences between such flow charts and previously described flowcharts. To this end, steps in FIGS. 11A, 11B, 12 that are identical tosteps in FIGS. 3, 5A have been numbered using the same numericaldesignations that have been used in FIGS. 3, 5A.

Referring first to FIGS. 11A and 11B, shown therein are flow charts ofthe system microprocessor 50 programming used to implement the thirdembodiment of the present invention. As in the case of the firstembodiment of the present invention, the system microprocessor 50responds to a seek command from host computer 48 by inputting thetransducer that is to store or retrieve a file following movement of thetransducer to a selected target track, step 96, inputting the targettrack address, step 98, determining the seek distance, step 100, andperforming the check, step 102, to determine whether the distance to betraversed by the transducers in the movement of the selected transducerto the target track is greater than the minimum distance at which settleon the target track is effected and, if not, the system microprocessor50 exits to the settle routine, step 104, so that the movement of thetransducers will not include a seek phase prior to settling of theselected transducer on the selected track.

In the third embodiment of the present invention, the generation ofacoustic noise during the seek phase is limited in a manner that hasbeen illustrated in FIG. 13 to which attention is now invited. FIG. 13is a graph of terminal portions of the velocity profile 72 of FIG. 2illustrating a source of noise that occurs during relatively shorttransducer movements in which the transducers do not attain the maximumprofile velocity 84 prior to commencement of deceleration toward thetarget track. In such case, as illustrated by the curve 254, which is agraph of transducer radial velocity versus the number of tracks to gobetween the present transducer location and the target track, thetransducers will be accelerated to a peak velocity, at 256 in FIG. 13,and, following attainment of such peak velocity, will rapidly undergo atransition to deceleration toward the target track. As a result, thecurrent passed through the actuator coil 68 will undergo a rapidtransition from a large current in one direction to a large current inthe opposite direction. Consequently, the force applied to the actuator40 during the seek phase undergoes a rapid reversal that can exciteresonant resonances in the actuator 40 and the disc drive case togenerate acoustic noise. The third embodiment of the invention preventsthis rapid force reversal to minimize the resulting noise generation ina manner that will now be described with continuing reference to FIG. 13and reference to FIGS. 11A, 11B, 12 and 5B.

In the practice of the third embodiment of the present invention, adeceleration distance is determined for each seek that is greater thanthe minimum distance 88 in FIGS. 2 and 13 by multiplying, step 258, theseek distance, determined at step 102, by a factor, less than 1, that isselected in a manner to be described below. The deceleration distance isthen compared with the maximum distance 80 at which deceleration forlengthy seeks is to be commenced, step 260, and, if the decelerationdistance is greater than the maximum distance 80, the decelerationdistance is adjusted, step 262, to be the maximum distance 80 at whichdeceleration conventionally begins for lengthy transducer movements. Ifthe deceleration distance is, less than the maximum distance 80, thedeceleration distance is compared, step 264, to the minimum distance 88at which settle is to be commenced and, if the deceleration distance isless than the minimum distance 88, the deceleration distance isadjusted, step 266, to be the minimum distance 88. Otherwise thedeceleration remains the product of the factor and the seek distancecalculated at step 258.

As will become clear during the continuation of the discussion of themanner in which the transducer movement is effected in accordance withthe third embodiment of the invention to follow, the selection of thedeceleration distance as described above establishes an effectivevelocity profile to be used to generate control signals that arerepetitively outputted to actuator driver 66 to effect the seek phase ofmovement of the transducers radially across the disc surfaces. Moreparticularly, for lengthy seeks in which the deceleration distance isadjusted to the maximum distance 80 at which deceleration is tocommence, the effective velocity profile is the velocity profile 72. Forshort transducer movements in which the deceleration distance is theminimum distance 88 at which settle is to begin, the effective velocityprofile is comprised of portions of the velocity profile, indicated at268 in FIG. 13, between the minimum distance 88 and the target trackwhich is represented by the profile velocity axis 78 in FIG. 13 and aconstant velocity portion, indicated at 270 in FIG. 13, for numbers oftracks to go that are greater than the minimum distance 88. Fortransducer movements of intermediate length, such as the distanceindicated at 272 in FIG. 13, the effective velocity profile, generallyindicated at 271 in FIG. 13, is comprised of a portion of the velocityprofile 72 between the deceleration distance determined at step 258 ofFIG. 11A, such distance indicated at 274 for the seek distance 272 inFIG. 13, and the target track, and a constant velocity portion 276 fornumbers of tracks to go that are greater than the deceleration distance274.

Returning to FIG. 11A, once the deceleration distance has beendetermined, such distance is selected, step 278, to be the profiledistance used to determine, at step 108 of FIG. 11B, the initial profilevelocity to be used in generating the control signal in the firstinterrupt of the servo microprocessor in which the transducer movementcommences. As in the previously described embodiments of the invention,and with reference to FIG. 11B, the system microprocessor then outputsthe initial profile velocity to the servo microprocessor 62, via thecommunications circuit 64, along with the target track location and theseek command, steps 110, 114 and 116 respectively, outputs a transducerselection signal to the head select circuit 42, step 118, sets a commandflag, step 120, in the communication circuit 64, and turns to polling ofthe communications circuit 64, step 122, as has been described abovewith respect to FIG. 3.

When the system microprocessor 50 subsequently detects the set systemflag at step 122, the system microprocessor 50 will, as in theembodiment of the invention described with respect to FIG. 3, input thenumber of tracks to go, step 124, to the target track at the nextinterrupt of the servo microprocessor 62, reset the system flag, step126, and determine whether the minimum distance between the transducersand the target track at which settle is to be commenced will have beenattained at the beginning of the next servo microprocessor interrupt,step 128, and, if so, exit to the settle routine as indicated by theprogram connectors labeled "D" in FIGS. 11A and 11B. If the number oftracks to go to complete the transducer movement to the target track isgreater than minimum distance at which settle is to commence, the systemmicroprocessor 50 determines and outputs a new profile velocity to theservo microprocessor 62. More particularly, the system microprocessor 50initially compares the number of tracks to go to the decelerationdistance, step 280, and selects the smaller of these two distances,steps 282 and 284, as the profile distance to be used, with the velocityprofile 72, to determine the profile velocity at step 132. This profilevelocity is then outputted to the servo microprocessor 62, step 134, andthe system microprocessor 50 returns to polling the communicationscircuit 64 for the system flag in the manner that has been previouslydescribed with respect to FIG. 3

The selection of the profile distance to be the smaller of thedeceleration distance and the number of tracks to go at steps 280, 282and 284, and the use of the velocity profile 72 to determine the profilevelocity have the effect of causing determination of the profilevelocity, for the number of tracks to go inputted at step 124, from theeffective velocity profile determined from the deceleration distance asdescribed above as will now be explained with reference to FIG. 13 forthe case in which the effective velocity profile is the velocity profile271. At such times that the number of tracks to go exceeds thedeceleration distance 274, the selection of the deceleration distance asthe profile distance to be used to calculate the profile velocity willcause the profile velocity to be the value the profile velocity willhave for the distance 274; that is, the value for the constant velocityportion 276 of the effective velocity profile 271. Thus, until thetransducers attain the distance 274 from the target track, the profilevelocity will be the constant velocity 274 that would be determinedusing the effective velocity profile 271. Once the number of tracks togo for the transducers reaches the deceleration distance 274, so thatthe number of tracks to go is less than the deceleration distance, thenumber of tracks to go will be used, with the velocity profile 72, todetermine the profile velocity. But, for distances less than thedeceleration distance, the effective velocity profile coincides with thevelocity profile 72. Hence, use of the velocity profile 72 to determinethe profile velocity will have the effect of using the effectivevelocity profile 271 to determine the profile velocity. Thus, for anynumber of tracks to go inputted at step 124, the profile velocity thatis outputted at step 134 is a velocity that would be determined from theeffective velocity profile 271.

Curve 286 in FIG. 13, drawn for transducer movement that is initiatedfrom the distance 272 utilized to develop the effective velocity profile271, illustrates the manner in which the third embodiment of theinvention minimizes the generation of acoustic noise in the movement ofthe transducers to the target track. To this end, the factor by whichthe seek distance is multiplied at step 258 in FIG. 11A to determine thedeceleration distance for the transducer movement is selected to insurethat the transducers will attain a radial velocity across the discsurface that is equal to the velocity 276 of the effective velocityprofile 271 before the deceleration distance 274 is reached. Thus, thetransducers will initially accelerate, as indicated by the portion 288of curve 286 to the velocity 276 of the effective velocity profile 271and then move at substantially constant velocity, as indicated at 290until the deceleration distance 274 is reached. The transducers willthen decelerate to substantially follow the terminal portions of thevelocity profile 72 as indicated by the portion 292 of the transducervelocity curve 286. The inclusion of a constant velocity stage ofmovement between acceleration and deceleration of the transducerseliminates the sharp transition from acceleration to deceleration,illustrated in FIG. 13 for the velocity curve 254 made in accordancewith conventional methods, to limit the above noted rapid transition offorces exerted on the actuator 40 from a large force in one direction toa large force in the opposite direction.

The value of the factor used to determine the deceleration distance fromthe seek distance can be readily determined during the manufacture ofthe disc drive 20. As noted above with respect to the lengthy seekillustrated in FIG. 2, the current, shown in FIG. 6, that is passedthrough the actuator coil 68 while the transducers are moving atconstant velocity is substantially zero. Thus, a suitable factor fordetermining the deceleration distance from the seek distance can bedetermined by observing the actuator coil current for a selection ofseeks and a selection of factors and selecting the factor to be thelargest value for which the actuator coil current will exhibit a nullbetween the two portions of the current versus time curve correspondingto acceleration and deceleration of the transducers.

As in the case of the previously described embodiments of the invention,the programming of the servo microprocessor 62 to effect the thirdembodiment of the present invention includes an interrupt routine inwhich the transducer movement is initialized and an interrupt routinewhich is then repetitively executed as the transducers are acceleratedaway from the initial track and subsequently decelerated to the minimumdistance 88 at which a transition to settle is to occur. In the case ofthe third embodiment, the initialization routine is used to input theseek command issued by the system microprocessor, select the validationparameter Δx and input the target track location so that the routinethat has been previously described for the first embodiment of theinvention with reference to FIG. 4 applies equally well to the thirdembodiment. The servo microprocessor interrupt routine that isrepetitively executed during movement made in accordance with the thirdembodiment of the invention has been illustrated in FIGS. 12 and 5B.

Referring to FIG. 12, the interrupt routine that is executed during theseek phase of transducer movement is a simplification of the routinethat has been illustrated in FIGS. 5A and 5B for the first embodiment ofthe invention. Since the practice of third embodiment of the inventiondoes not contemplate the determination of a control signal in eachinterrupt that makes use of the control signal determined in theprevious interrupt, the programming of the servo microprocessor 62, forthe repeated interrupts, can be derived from the programming shown inFIGS. 5A by deleting steps 170 and 172 shown in FIGS. 5A. Thus, asillustrated in FIGS. 12, during each interrupt of the servomicroprocessor 62, the servo microprocessor 62 will begin by inputtingthe location of the selected transducer, step 152, determining the errorof the estimation of the previously estimated transducer location, step154, validating the transducer location, steps 156 and 158, andinputting the profile velocity, step 160, from the system microprocessor50 via the communications circuit 64 as has been described above. Thecontrol signal will then be determined, as also described above, steps162 and 164, limited, steps 166 and 168, and outputted to the actuatordriver 66, step 174. Thereafter, in each interrupt during the seekphase, the servo microprocessor 62 carries out the steps shown in FIG.5B that have been described above.

DESCRIPTION OF THE FOURTH EMBODIMENT

In the fourth embodiment of the invention, the previous embodiments arecombined into a single method that provides the noise limitationcapabilities of each of the previous embodiments. To this end, thesystem and servo microprocessors, 50 and 62, respectively are programmedto carry out operations that are common to each of the three previouslydescribed embodiments as well as operations that are specific to each.Consequently, it will facilitate an understanding of the presentinvention to refer to previously presented flow charts, whereapplicable, point out features of these flow charts by means of whichthe previously described methods are combined, and present only thosenew flow charts which are specific to the fourth embodiment. As in thecase of the descriptions of the previous embodiments, operations of themicroprocessors that are common to more than one embodiment will beidentified by common reference numerals.

The programming of the system microprocessor 50 to effect movement ofthe transducers from an initial track being followed at the time a seekcommand is received from the host computer 48 is illustrated in thepreviously described flow chart present in FIG. 11A and the additionalflow chart presented in FIG. 14. Referring first to FIG. 11A, the systemmicroprocessor 50 initially carries out the steps 96, 98, and 100,common to all embodiments, to determine the seek distance and thencarries out the step 102, also common to all embodiments, to determinewhether movement of the transducers is to include a seek phase and, ifnot, exits to the settle routine at step 104.

Following execution of these steps that are common to all embodiments ofthe invention, the system microprocessor determines the decelerationdistance as described above for the third embodiment, steps 258, 260,262, 264, and 266, so that the seek phase will be carried out using aneffective velocity profile as described above with reference to FIG. 13.Similarly, as in the third embodiment of the invention, the value of theprofile distance to be initially utilized in the determination of aprofile velocity to be outputted to the servo microprocessor 62 via thecommunications circuit 64 is selected, step 278, to be the decelerationdistance determined by the steps 260, 262, 264 and 266.

Referring to FIG. 14, following selection of the profile distance to beused to determine the initial profile velocity, the systemmicroprocessor caries out the steps 108, 110, 114, 118, 116 and 120,common to all embodiments, to command the servo microprocessor 62 toexecute the seek phase and provide parameters, again common to allembodiments of the invention, utilized in the execution of the seekphase to the servo microprocessor 62. Additionally, to incorporate thecontrol signal averaging feature of the second embodiment into thefourth embodiment, the system microprocessor 50 outputs, step 224, thedelay time after which the control signal determined in an interruptduring the seek phase is to be outputted to the actuator driver 66 afteran initial output of the average of such control signal with the controlsignal determined in the previous interrupt. During this initial portionof the system microprocessor 50 program, the selected head is outputted,step 118, to the head select circuit 42 as described above and thesystem microprocessor then commences polling of the communicationscircuit 64, step 122, as has been previously described.

When the system microprocessor 50 detects a set system flag, the systemmicroprocessor will execute the steps 124, 126 and 128, common to allembodiments of the invention, to enable exit of the systemmicroprocessor 50 to the settle routine as indicated by the programconnector "D" that corresponds to the program connector "D" of FIG. 11B.The system microprocessor 50 then selects the number of tracks to gothat it has received from the servo microprocessor 62 or thedeceleration distance, steps 280, 282, and 284 as the profile distanceto be used to calculate the next profile velocity so that the profilevelocity determined for succeeding interrupts of the systemmicroprocessor will be the profile velocity determined in accordancewith the third embodiment of the invention as described above. Thisprofile velocity is then determined, step 132, and outputted to theservo microprocessor 62, step 134, following which the systemmicroprocessor 50 returns to polling of the communications circuit 64for a set system flag.

Flow charts that illustrate the operation of the servo microprocessorduring initialization of the transducer movement and the duringinterrupt routines that are repetitively executed during the seek phaseof movement are the flow chart presented in FIG. 8, for seekinitialization, a flow chart presented in FIG. 15 and the flow chartpreviously presented in FIG. 9B. Referring first to FIG. 8, theinitialization of the servo microprocessor 62 is effected, following afinal execution of the track follow control routine 136, by execution ofthe state estimation step 138, the calculation of the third component ofthe control signal for the next interrupt, step 140, and the input ofthe seek command, step 144, the selection of the validation parameterΔx, step 146, and the input of the target location, step 148, that arecommon to all embodiments of the invention. In addition, to incorporatethe control signal averaging feature of the second embodiment, the delaytime that is to lapse before output of the control signal calculated inan interrupt of the servo microprocessor 62, following output of theaverage of such control signal and the control signal determined in theprevious interrupt, is inputted at step 226 of FIG. 6.

The initial control signal to be outputted to the actuator driver 66 inthe practice of the fourth embodiment of the invention is generated in amanner that has been illustrated in FIG. 15. Prior to determining theinitial control signal, the steps 152, 154, 156, 158 and 160, common toall embodiments of the of the invention, are executed to obtain theprofile velocity used in determining a control signal and to obtaininformation that will be subsequently used to estimate the state of theservo system at the beginning of the next interrupt. The control signalis then determined, steps 162 and 164, and limited, as described for thefirst embodiment of the invention. Following determination of thecontrol signal, the control signal is slew rate limited, steps 170 and172, to incorporate the first embodiment of the invention into thefourth embodiment, and averaged with the slew rate limited controlsignal determined in the previous interrupt of the servo microprocessor62 to incorporate the second embodiment of the invention into the fourthembodiment. This average control signal is then outputted to theactuator driver 66.

The remaining steps of the servo microprocessor 62 interrupt routine arethen carried out as illustrated for the second embodiment as shown inFIG. 9B. Specifically, following storage of the slew rate limitedcontrol signal determined for the interrupt at hand, step 176, to enableincorporation of both the first and second embodiments of the inventionto be incorporated into the fourth embodiment, the state of the servosystem is estimated, step 178, as in previously described embodiments,the validation parameter Δx is selected, step 179, the third componentof the control signal is estimated, step 180, and the estimated numberof tracks to go at the beginning of the next interrupt is calculated andoutputted to the system microprocessor 50 along with setting of thesystem flag, steps 182, 184 and 186, to enable the system microprocessorto determine the profile velocity that will be used to determine thefirst component of the control signal by the servo microprocessor 62 inthe next interrupt of the servo microprocessor 62. It will be notedthat, since the control signal averaging feature of the secondembodiment of the invention is incorporated into the fourth embodiment,the coefficients B4 and B8 in equations (5) and (6) that are utilized toestimate the state of the servo system at the beginning of the nextinterrupt will be nonzero values that reflect the use of two controlsignals in the present interrupt to determine the current passed throughthe actuator coil 68 as described above for the second embodiment of theinvention.

The servo microprocessor 62 then enters the delay loop 230, 232described for the second embodiment and outputs the slew rate limitedcontrol signal determined for the current interrupt to incorporate thesecond embodiment of the invention into the fourth embodiment. Theinterrupt then ends with the steps, common to all embodiments, ofchecking for a new command flag, step 188, and, if such flag is set,receiving a new command, step 190, from the system microprocessor 50.

The slew rate limit and the factor utilized to determine thedeceleration length are determined as described above for the first andthird embodiments of the invention. However, it will be noted that theuse of a slew rate limit will lead to a control signal that is less thanthe control signal that would be determined using only the thirdembodiment. Thus, to insure that the factor used to determine thedeceleration length will be low enough to ensure that a coast stage willoccur between acceleration and deceleration of the transducers, suchfactor is determined for use in the fourth embodiment of the inventionafter determination of the slew rate limit and for seeks that arecarried out employing both the slew rate limit and the control signalaveraging that are incorporated into the fourth embodiment from thefirst and second embodiments respectively.

It will be clear that the present invention is well adapted to carry outthe objects and attain the ends and advantages mentioned as well asthose inherent therein. While a presently preferred embodiment has beendescribed for purposes of this disclosure, numerous changes may be madewhich will readily suggest themselves to those skilled in the art andwhich are encompassed in the spirit of the invention disclosed and asdefined in the appended claims.

What is claimed is:
 1. A method for carrying out a seek phase in themovement of a disc drive transducer from an initial track on a rotatingdisc to a target track on the disc so as to reduce noise generatedduring the seek phase, wherein the transducer is supported adjacent thesurface of the disc by a pivotable actuator for radial movement of thetransducer via pivotation of the actuator, comprising the stepsof:determining the distance between the initial and target tracks;multiplying the distance between the initial and target tracks by apreselected factor that is less than one to determine a decelerationdistance for the movement of the transducer during the seek phase;andthereafter, repetitively executing the steps of estimating thedistance between the transducer and the target track; selecting aprofile distance as the lesser of the deceleration distance and theestimated distance between the transducer and the target track;evaluating a preselected velocity profile relation at the profiledistance to determine a profile velocity; estimating the radial velocityof the transducer across said disc; generating a control signalcomprising at least a component proportional to the difference betweenthe estimated radial velocity of the transducer and the profilevelocity; and exerting a force on the transducer in proportion to thecontrol signal;wherein said preselected factor is selected so that theforces exerted on the transducer in said repetitively executed stepswill accelerate the transducer to a velocity equal to the value of theprofile velocity at the deceleration distance before the transducerreaches a distance from the target track equal to the decelerationdistance.
 2. The method of claim 1, wherein the step of estimating thedistance between the transducer and the target track comprises the stepsof:estimating the radial location of the transducer with respect to thedisc; and determining the distance between the target track and theestimated location of the transducer; andwherein the method furthercomprises the steps of: repetitively measuring the radial location ofthe transducer with respect to the disc; and determining the differencebetween the estimated and measured locations of the transducer;andwherein the step of generating a control signal further comprises thesteps of: generating a second component of the control signal inrelation to the difference between said estimated and measured locationsof the transducer; and adding the second component of the control signalto said component proportional to the difference between the estimatedradial velocity of the transducer and the profile velocity.
 3. Themethod of claim 2, further comprising the step of repetitivelyestimating a bias torque on the actuator; and wherein the step ofgenerating a control signal further comprises the steps of:generating athird component of the control signal in relation to the estimated biastorque; and adding the third component of the control signal to saidsecond component and said component proportional to the differencebetween the estimated radial velocity of the transducer and the profilevelocity.